package com.bupt.godxian.charging.controller;
import com.bupt.godxian.charging.util.JwtUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestHeader;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class ProtectedController {
    @Autowired
    private JwtUtil jwtUtil;

    @GetMapping("/protected")
    public Object protectedEndpoint(@RequestHeader("Authorization") String  tokenHeader) {
        // 从请求头中提取JWT
//        String token = authorizationHeader.substring(7); // 假设使用Bearer Token，所以去掉前缀"Bearer "

        // 验证JWT的有效性if (jwtUtil.validateToken(token)) {
        //            // JWT有效，返回受保护资源的响应
        //            // 从JWT中获取用户名
        //            String username = jwtUtil.getUsernameFromToken(token);
        //
        //            // 根据用户名执行相应的操作...
        //
        //            return ResponseEntity.ok("Protected route accessed by user: " + username);
        //        } else {
        //            // JWT无效，返回错误信息或重定向到登录页面
        //            return "Invalid token!";
        //        }

        //验证JWT的有效性
        if (jwtUtil.dependToken(tokenHeader)){
            String username = jwtUtil.getUsernameFromToken(jwtUtil.token);
            // 根据需要进行进一步的权限验证和业务逻辑处理

        }else {
                        // JWT无效，返回错误信息或重定向到登录页面
                        return "Invalid token!";
                    }
        return null;
    }
}
